<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>offset系列属性</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    .father {
      position: relative;
      width: 200px;
      height: 200px;
      background-color: pink;
      margin: 150px;
    }

    .son {
      width: 100px;
      height: 100px;
      background-color: purple;
      margin-left: 45px;
    }

    .w {
      height: 200px;
      background-color: skyblue;
      margin: 0 auto 200px;
      padding: 10px;
      border: 15px solid red;
    }
  </style>
</head>
<body>
  <div class="father">
    <div class="son"></div>
  </div>
  <div class="w"></div>
  <script>
    // offset 系列
    var father = document.querySelector('.father')
    var son = document.querySelector('.son')
    // 1.可以得到元素的偏移 位置 返回的不带单位的数值
    console.log(father.offsetTop)
    console.log(father.offsetLeft)
    // 它以带有定位的父亲为准  如果么有父亲或者父亲没有定位 则以 body 为准
    console.log(son.offsetLeft)
    var w = document.querySelector('.w')
    // 2.可以得到元素的大小 宽度和高度 是包含padding + border + width
    console.log(w.offsetWidth)
    console.log(w.offsetHeight)
    // 3. 返回带有定位的父亲 否则返回的是body
    console.log(son.offsetParent) // 返回第一个带有定位的父亲 否则返回的是body
    console.log(son.parentNode) // 返回父亲 是最近一级的父亲 亲爸爸 不管父亲有没有定位

    // offsetX：鼠标坐标到元素的左侧的距离
    // offsetY：鼠标坐标到元素的顶部的距离
  </script>
</body>
</html>